AWSでLambda、EventBridge、CloudWatchを活用したスケジュールタスク

AWSでLambda、EventBridge、CloudWatchを活用したスケジュールタスク

Clock Icon2024.10.29

はじめに

こんにちは!アライブのヘマントです。このブログでは、AWS LambdaとAmazon EventBridgeを活用してスケジュールタスクを設定し、Amazon CloudWatchでそれを監視する方法をご紹介します。このセットアップを使えば、AWS上で定期的なタスクを自動化し、CloudWatchのメトリクスやログを通じて実行状況を可視化することが可能になります。

AWS

Amazon Web Services(AWS)は、クラウドサービスプラットフォームで、コンテンツ配信、データベースストレージ、処理能力など、企業の成長を支える機能を提供します。コンピュート、ストレージ、ネットワーキング、データベース、管理ツール、セキュリティなど、さまざまなカテゴリの幅広いサービスが含まれています。

AWS Lambda

AWS Lambdaは、イベントに応じてコードを実行するサーバーレスのコンピューティングサービスです。高可用性のコンピュートインフラでコードを実行し、リソースの管理はすべて自動で行います。例えば、Amazon API Gateway経由のHTTPリクエストやS3内のオブジェクトの変更に応答する形で利用できます。

AmazonEventbridge

Amazon EventBridgeは、さまざまなAWSサービスやSaaSアプリケーションを接続し、イベント駆動型のアプリケーションを構築できるサーバーレスのイベントバスサービスです。このブログでは、EventBridgeを使ってLambda関数の実行をスケジュールし、CloudWatchで監視可能な定期的なタスクを作成します。

AmazonCloudwatch

Amazon CloudWatchは、AWSリソースやAWSで実行中のアプリケーションの監視および可観測性を提供するサービスです。CloudWatchでは、メトリクス、ログ、アラートを通じてアプリケーションの健全性を監視したり、リソースしきい値に対してアラームを設定したりできます。このブログでは、スケジュールタスクのLambda呼び出しメトリクスをCloudWatchで追跡します。

デモ

AWS マネジメントコンソールで「Lambda」に移動し、「Create Function」を選択します。
Screenshot 2024-10-29 at 16.06.58
関数に名前を付け、ランタイムとしてPythonを選択します(または希望の言語を選択)。アクセス権を設定するか、デフォルトオプションを使用します。
Screenshot 2024-10-29 at 16.10.30
関数のコードエディタにデフォルトコードを使うか、必要に応じてカスタムコードを追加します。
Screenshot 2024-10-29 at 17.19.28
マネジメントコンソールで「Amazon EventBridge」を検索し、「Create Schedule」を選択します。
Screenshot 2024-10-29 at 16.12.11
Screenshot 2024-10-29 at 16.13.32
スケジュールに名前を付け、デフォルトグループを使用します。「Recurring Schedule」を選択します。
Screenshot 2024-10-29 at 16.14.44
「Rate-based schedule」で「1分間隔」に設定します。フレキシブルウィンドウをオフにして次に進みます。
Screenshot 2024-10-29 at 16.18.32
「Target details」で「AWS Lambda Invoke」を選択します。
Screenshot 2024-10-29 at 16.19.08
Screenshot 2024-10-29 at 16.20.06
「Retry Policy」 を無効化します。

Screenshot 2024-10-29 at 16.22.03
他の設定はデフォルトのままにして、「Next」をクリックします。

Screenshot 2024-10-29 at 16.22.42
設定を確認し、「Create Schedule」をクリックして完了します。

Screenshot 2024-10-29 at 16.24.20
マネジメントコンソールで「CloudWatch」に移動し、「All Metrics」を検索して「Lambda>byfunctionname」を選択します。
Screenshot 2024-10-29 at 16.25.27
Screenshot 2024-10-29 at 16.27.03
「Schedule function」を選択し、メトリクス「Invocations」を表示して、カスタム時間を45分に設定して適用します。
Screenshot 2024-10-29 at 16.30.37

Conclusion

AWS Lambda、EventBridge、CloudWatchを使ってスケジュールタスクを自動化し、管理することで、AWS上での定期ワークフロー管理が効率的に行えます。EventBridgeによるスケジュール管理、Lambdaのタスク実行、CloudWatchのモニタリングとアラート設定により、ワークフローの可視性と制御性が向上します。このセットアップは、作業時間の短縮と運用効率の向上を実現し、自動化と監視の両面で業務をサポートします。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.